package com.hqyj.callback;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CorrelationData;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;

/**
 * 项目:rabbitmq-230301-provider
 * 描述:
 * 时间:2023/8/3 15:37
 * 作者:admin11
 * 版本:1.0
 **/
@Component
@Slf4j
public class MqConfirm implements RabbitTemplate.ConfirmCallback {
    /**
     *
     * @param correlationData 消息
     * @param b 是否成功发送到mq中
     * @param s 如果发送失败，失败的原因
     */
    @Override
    public void confirm(CorrelationData correlationData, boolean b, String s) {
        if(b){
           log.info("消息发送到了mq中成功了") ;
           log.info("消息值:{}",correlationData.getId());
        }else{
            log.info("消息发送到了mq中失败了") ;
            log.info("消息值:{}",correlationData.getId());
            log.info("失败原因:{}",s);
            log.info("把失败的消息存入到数据库中或者redis中");
        }

    }
}
